home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / Bonus / Plasmatech / ptscp_eval.exe / %MAINDIR% / EvalC3 / UPTSplitter.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  2001-08-31  |  7.7 KB  |  203 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1998 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'UPTSplitter.pas' rev: 3.00
  6.  
  7. #ifndef UPTSplitterHPP
  8. #define UPTSplitterHPP
  9. #include <ExtCtrls.hpp>
  10. #include <UPTFrame.hpp>
  11. #include <Commctrl.hpp>
  12. #include <Dialogs.hpp>
  13. #include <Forms.hpp>
  14. #include <Controls.hpp>
  15. #include <Graphics.hpp>
  16. #include <Classes.hpp>
  17. #include <SysUtils.hpp>
  18. #include <Messages.hpp>
  19. #include <Windows.hpp>
  20. #include <SysInit.hpp>
  21. #include <System.hpp>
  22.  
  23. //-- user supplied -----------------------------------------------------------
  24.  
  25. namespace Uptsplitter
  26. {
  27. //-- type declarations -------------------------------------------------------
  28. enum TPTSplitterStyle { ptstVertical, ptstHorizontal };
  29.  
  30. typedef void __fastcall (__closure *TPTSplitterDragEvent)(System::TObject* aSender, int aPosition);
  31.  
  32. enum TPTFullDragMode { ptfdOff, ptfdOn, ptfdUser };
  33.  
  34. class DELPHICLASS TPTSplitter;
  35. class DELPHICLASS TPTPane;
  36. class PASCALIMPLEMENTATION TPTSplitter : public Controls::TCustomControl 
  37. {
  38.     typedef Controls::TCustomControl inherited;
  39.     
  40. private:
  41.     TPTPane* mPanes[2];
  42.     void __fastcall InitPanePos(void);
  43.     
  44. public:
  45.     void __fastcall CreatePanes(void);
  46.     void __fastcall SetActivePane(int paneIndex);
  47.     
  48. private:
  49.     TPTPane* __fastcall GetPane(int idx);
  50.     Graphics::TColor __fastcall GetPaneColor(int idx);
  51.     Uptframe::TPTFrameStyle __fastcall GetPaneStyle(int idx);
  52.     int __fastcall GetPaneMinSize(int idx);
  53.     void __fastcall SetStyle(TPTSplitterStyle aValue);
  54.     void __fastcall SetSplitterWidth(int aValue);
  55.     void __fastcall SetPosition(int aValue);
  56.     void __fastcall SetProportion(float aValue);
  57.     void __fastcall SetPaneColor(int idx, Graphics::TColor aValue);
  58.     void __fastcall SetPaneStyle(int idx, Uptframe::TPTFrameStyle aValue);
  59.     void __fastcall SetPaneMinSize(int idx, int aValue);
  60.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &aMsg);
  61.     HIDESBASE MESSAGE void __fastcall WMCancelMode(Messages::TWMNoParams &aMsg);
  62.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &aMsg);
  63.     HIDESBASE MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &aMsg);
  64.     HIDESBASE MESSAGE void __fastcall WMParentNotify(Messages::TWMParentNotify &aMsg);
  65.     MESSAGE void __fastcall WMCaptureChanged(Messages::TMessage &aMsg);
  66.     
  67. protected:
  68.     TPTSplitterStyle mStyle;
  69.     int mSplitterWidth;
  70.     int mPosition;
  71.     TPTFullDragMode mFullDragMode;
  72.     bool mProportional;
  73.     Classes::TNotifyEvent mOnResizeProc;
  74.     TPTSplitterDragEvent mOnSplitterDragProc;
  75.     TPTSplitterDragEvent mOnSplitterDropProc;
  76.     Classes::TNotifyEvent mOnChangeProc;
  77.     float mSplitterProportion;
  78.     bool mfDragging;
  79.     int mDragPosition;
  80.     int mDragOffset;
  81.     TMouseButton mDragButton;
  82.     virtual void __fastcall PaintSizingLine(void);
  83.     HIDESBASE void __fastcall BeginDrag(const tagPOINT &p);
  84.     void __fastcall ContinueDrag(const tagPOINT &p);
  85.     HIDESBASE void __fastcall EndDrag(void);
  86.     void __fastcall SetDragPosition(int pos);
  87.     DYNAMIC void __fastcall MouseDown(Controls::TMouseButton aButton, Classes::TShiftState aShift, int 
  88.         x, int y);
  89.     DYNAMIC void __fastcall MouseMove(Classes::TShiftState aShift, int x, int y);
  90.     DYNAMIC void __fastcall MouseUp(Controls::TMouseButton aButton, Classes::TShiftState aShift, int x, 
  91.         int y);
  92.     bool __fastcall IsFullDrag(void);
  93.     void __fastcall FixProportion(void);
  94.     void __fastcall InternalSetPosition(int aValue, bool aFixProportion);
  95.     DYNAMIC void __fastcall Change(void);
  96.     DYNAMIC void __fastcall InternalResize(bool aForceResize);
  97.     DYNAMIC void __fastcall SplitterDrag(int aPosition);
  98.     DYNAMIC void __fastcall SplitterDrop(int aPosition);
  99.     DYNAMIC void __fastcall GetChildren(Classes::TGetChildProc Proc, Classes::TComponent* root);
  100.     DYNAMIC Classes::TComponent* __fastcall GetChildOwner(void);
  101.     virtual void __fastcall CreateParams(Controls::TCreateParams &p);
  102.     virtual void __fastcall CreateWnd(void);
  103.     virtual void __fastcall Loaded(void);
  104.     virtual void __fastcall SetName(const System::AnsiString NewName);
  105.     
  106. public:
  107.     __fastcall virtual TPTSplitter(Classes::TComponent* aOwner);
  108.     void __fastcall SwapPanes(BOOL afSwapSplit);
  109.     int __fastcall Extent(void);
  110.     __property TPTPane* Pane1 = {read=GetPane, stored=false, index=0};
  111.     __property TPTPane* Pane2 = {read=GetPane, stored=false, index=1};
  112.     __property float Proportion = {read=mSplitterProportion, write=SetProportion, stored=false};
  113.     
  114. __published:
  115.     __property Align ;
  116.     __property Visible ;
  117.     __property Enabled ;
  118.     __property Color ;
  119.     __property ParentColor ;
  120.     __property ShowHint ;
  121.     __property ParentShowHint ;
  122.     __property Width ;
  123.     __property Height ;
  124.     __property TPTFullDragMode FullDragMode = {read=mFullDragMode, write=mFullDragMode, default=2};
  125.     __property bool Proportional = {read=mProportional, write=mProportional, default=1};
  126.     __property int Position = {read=mPosition, write=SetPosition, default=65};
  127.     __property TPTSplitterStyle Style = {read=mStyle, write=SetStyle, default=0};
  128.     __property int SplitterWidth = {read=mSplitterWidth, write=SetSplitterWidth, default=3};
  129.     __property Graphics::TColor Pane1Color = {read=GetPaneColor, write=SetPaneColor, stored=false, index=0
  130.         , default=-2147483633};
  131.     __property Uptframe::TPTFrameStyle Pane1FrameStyle = {read=GetPaneStyle, write=SetPaneStyle, stored=false
  132.         , index=0, default=2};
  133.     __property int Pane1MinSize = {read=GetPaneMinSize, write=SetPaneMinSize, stored=false, index=0, default=0
  134.         };
  135.     __property Graphics::TColor Pane2Color = {read=GetPaneColor, write=SetPaneColor, stored=false, index=1
  136.         , default=-2147483633};
  137.     __property Uptframe::TPTFrameStyle Pane2FrameStyle = {read=GetPaneStyle, write=SetPaneStyle, stored=false
  138.         , index=1, default=2};
  139.     __property int Pane2MinSize = {read=GetPaneMinSize, write=SetPaneMinSize, stored=false, index=1, default=0
  140.         };
  141.     __property Classes::TNotifyEvent OnChange = {read=mOnChangeProc, write=mOnChangeProc};
  142.     __property Classes::TNotifyEvent OnResize = {read=mOnResizeProc, write=mOnResizeProc};
  143.     __property TPTSplitterDragEvent OnSplitterDrag = {read=mOnSplitterDragProc, write=mOnSplitterDragProc
  144.         };
  145.     __property TPTSplitterDragEvent OnSplitterDrop = {read=mOnSplitterDropProc, write=mOnSplitterDropProc
  146.         };
  147.     __property OnMouseDown ;
  148.     __property OnMouseUp ;
  149.     __property OnMouseMove ;
  150.     __property OnDragDrop ;
  151.     __property OnDragOver ;
  152.     __property TabOrder ;
  153.     __property TabStop ;
  154.     __property OnClick ;
  155.     __property OnDblClick ;
  156. public:
  157.     /* TCustomControl.Destroy */ __fastcall virtual ~TPTSplitter(void) { }
  158.     
  159. public:
  160.     /* TWinControl.CreateParented */ __fastcall TPTSplitter(HWND ParentWindow) : Controls::TCustomControl(
  161.         ParentWindow) { }
  162.     
  163. };
  164.  
  165. class PASCALIMPLEMENTATION TPTPane : public Uptframe::TPTGroup 
  166. {
  167.     typedef Uptframe::TPTGroup inherited;
  168.     
  169. private:
  170.     HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &aMsg);
  171.     
  172. protected:
  173.     int mMinSize;
  174.     int mIndex;
  175.     BOOL mfDesignActive;
  176.     virtual void __fastcall Paint(void);
  177.     
  178. public:
  179.     __fastcall virtual TPTPane(Classes::TComponent* aOwner);
  180.     
  181. __published:
  182.     __property FrameStyle ;
  183.     __property int MinSize = {read=mMinSize, write=mMinSize, default=20};
  184.     __property int Index = {read=mIndex, write=mIndex, nodefault};
  185. public:
  186.     /* TCustomControl.Destroy */ __fastcall virtual ~TPTPane(void) { }
  187.     
  188. public:
  189.     /* TWinControl.CreateParented */ __fastcall TPTPane(HWND ParentWindow) : Uptframe::TPTGroup(ParentWindow
  190.         ) { }
  191.     
  192. };
  193.  
  194. //-- var, const, procedure ---------------------------------------------------
  195. extern PACKAGE Graphics::TBitmap* __fastcall Get50PctBmp(void);
  196.  
  197. }    /* namespace Uptsplitter */
  198. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  199. using namespace Uptsplitter;
  200. #endif
  201. //-- end unit ----------------------------------------------------------------
  202. #endif    // UPTSplitter
  203.